In many uses of mobile computing devices, data (and/or services) stored on networked servers are associated with particular physical locations. The mobile devices are expected to access that data via a network connection when they are at the locations associated with the data. Once data has been loaded into the cache memory of a mobile device, it is well known to retain the data beyond its initial use in order to speed subsequent accesses to the same data, such subsequent accesses being a common occurrence. As the device memory is of finite size, it is periodically necessary to free up space in the cache memory.
Device memory is but one limited resource in such a system. The servers and/or the communications infrastructure between the servers and the mobile devices can become a bottleneck if the mobile devices are all frequently requesting data items. It is known to provide distributed or cooperative caching in which data can be stored in and retrieved from any of multiple data caches. There are many algorithms for finding data in such caches and for maintaining cache coherency. For example, see A Survey of Cooperative Caching, Raunak, M. at http://citeseer.nj.nec.com/432816.html.
It is object of the present invention to provide a way of reducing the loading on the infrastructure used to store data items of interest to mobile device users.